define(['jquery','api','util','tmpl','user','text!pages/user/login.tpl','text!pages/user/loginPhone.tpl'],function($,api,util,tmpl,user){
	var $loginForm,
	    isWx,
		event=function(isRegister){
		   $loginForm=$('#loginForm');
		   $loginForm.on('submit',function(){
		   	   var postData=$(this).serialize(),
		           error=false,
		   	       postData=util.queryToObj(postData);
		   	   if(postData.account==''){
		   	       error='请输入手机号码！';
		   	   }else if(postData.pwd==''){
		   	   	   error='请输入密码！';
		   	   }
		   	   if(error){
		   	       util.msg(error);
		   	       return false;
		   	   }
		       api.login(postData,function(rs){
		       	   
		       	   $("#loginBtn").removeAttr("disabled").val('登录');
	               if(rs.retcode==='0'){
	               	    if(!isWx||!isRegister){
	               	    	$.cookie('mobile',postData.account);
	               	    	user.data.mobile=postData.account;
	               	    }
	               		util.goBack();
	               }else{
	                    util.dealErrorCode(rs.retcode);
	               }
		       })
		       return false;
		   })
		};
	var controller={
	    init:function () {
			var tpl,
			    queryObj=util.queryToObj(location.search.substring(1));
		    if(user.isLogin()){
		        window.location.hash="#/";
		        return;
		    }	    
		    isWx=util.isWxBrowser();
		    if(api.showQrcode())return;
		    if(!isWx){
		    	controller.render(false);
		    	return;
		    }else if(queryObj.code){
		        controller.render(user.isRegister());
		        return;
		    }
		    util.loadMsg('登录信息努力加载中……');
		    api.isReg({
		       success:function(rs){
		       	    util.loadMsg('');
                    if(rs.retcode==='0'){
                    	if(rs.exist=='1'){
		    	    	   user.data.mobile=rs.data.mobile;
		    	    	   $.cookie('mobile',user.data.mobile);
		    	    	   user.data.uid=rs.data.uid;
		    	    	}
                    	controller.render(rs.exist=='1');
                    }else{
                        controller.render(false);
                    } 
	   			},
		       error:function(){
		       	   util.loadMsg('');
		           controller.render(false);
		       }
		    })
	       
	    },
	    render:function(isRegister){
	        var tpl='text!pages/user/login'+(isWx&&isRegister?'':'Phone')+'.tpl';
		    require([tpl],function(tpl){
		    	$('#Loading').hide();
		        $('#page').html(tmpl(tpl,{isWx:isWx,wxId:api.getWxid(),mobile:user.data.mobile?user.data.mobile:''}));
	       	    event(isRegister);
		    })
	    },
        onRouteChange:function(){
    	   $('#page').html('');
        }
    }
    return controller;     
})